﻿<%@ WebHandler Language="C#" Class="SigningCenterMgr" %>

using System;
using System.Web;
using System.Text;
using System.Collections.Generic;
using System.Data;
using Chenxin.Lib.Utility;
using Chenxin.Lib.Business;
using Chenxin.Lib.Business.BLL;

public class SigningCenterMgr : AjaxHandlerBase
{
    
    //*******************************************
    //功能概要       ：基本权限初始化设定
    //参数説明       ：-
    //返回值説明     ：-
    //功能詳細       ：权限哈希表中添加操作与权限组
    //作成者         ：he.jifeng 
    //作成日         ：2010-07-12
    //*******************************************
    public SigningCenterMgr()
    {

    }

    //*******************************************
    //功能概要       ：请求处理
    //参数説明       ：context 请求上下文
    //返回值説明     ：-
    //功能詳細       ：根据请求名 分发请求
    //作成者         ：he.jifeng
    //作成日         ：2010-07-12
    //*******************************************
    override public void RequestProcess(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        context.Response.AddHeader("pragma", "no-cache");
        context.Response.AddHeader("cache-control", "");
        context.Response.CacheControl = "no-cache";
        
        try{
            string strOp = context.Request["op"];
            string strRet = string.Empty;
            switch (strOp)
            {
                    //获取签约中心列表
                case "getcenters":
                    strRet = GetSigningCenters(context);
                    break;
                    //获取签约中心人员列表
                case "getsigners":
                    strRet = GetCenterSigners(context);
                    break;
                default:
                    break;
            }
            context.Response.Write(strRet);
        }catch(Exception ex){
            context.Response.Write(retExecResult(Constants.ExecResult.Error, ex.Message, ""));
        }
    }

    //*******************************************
    //功能概要       ：获得签约中心列表
    //参数説明       ：context 请求上下文
    //返回值説明     ：签约中心响应数据
    //功能詳細       ：获得签约中心列表
    //作成者         ：he.jifeng
    //作成日         ：2010-07-12
    //*******************************************
    private string GetSigningCenters(HttpContext context)
    {
        string strRet = string.Empty;
        string strParam = string.Empty;
        //参数列表
        System.Collections.Hashtable htParams = new System.Collections.Hashtable();

        //页步长
        strParam = context.Request.Params["pagesize"];
        if (strParam != null)
        {
            htParams.Add("PageSize", strParam);
        }
        //当前页号
        strParam = context.Request.Params["pageindex"];
        if (strParam != null)
        {
            htParams.Add("PageIndex", strParam);
        }
        //城市ID
        strParam = context.Request.Params["CityId"];
        if (strParam != null)
        {
            htParams.Add("CityId", strParam);
        }
        //公司ID
        strParam = context.Request.Params["CompanyId"];
        if (strParam != null)
        {
            htParams.Add("CompanyId", strParam);
        }

        //全部权限
        if (CurrentUserInfo.ContainsPermit(Constants.Permit_ViewAllSigningCenter))
        {
            htParams.Add("Permit", Constants.Permit_ViewAllSigningCenter);
        }
        //城市权限
        else if (CurrentUserInfo.ContainsPermit(Constants.Permit_ViewCitySigningCenter))
        {
            htParams.Add("Permit", Constants.Permit_ViewCitySigningCenter);
            htParams.Add("CurCityId", CurrentUserInfo.CityId);
        }
        //公司权限
        else if (CurrentUserInfo.ContainsPermit(Constants.Permit_ViewCompanySigningCenter))
        {
            htParams.Add("Permit", Constants.Permit_ViewCompanySigningCenter);
            htParams.Add("CurCompanyId", CurrentUserInfo.CompanyId);
        }
        //签约中心人员关系业务类
        Chenxin.Lib.Business.BLL.UserSigningCenterRelation bllCenterUser = new UserSigningCenterRelation();

        //获得中心人员
        System.Data.DataSet dsCenters = bllCenterUser.GetListByConditions(htParams);

        strRet = covertToClientCenters(dsCenters);
        return strRet;
    }

    //*******************************************
    //功能概要       ：转化签约中心为客户端接收类型数据
    //参数説明       ：ds 签约中心数据集
    //返回值説明     ：客户端签约中心数据集
    //功能詳細       ：转化签约中心为客户端接收类型数据
    //作成者         ：he.jifeng
    //作成日         ：2010-07-12
    //*******************************************
    private string covertToClientCenters(System.Data.DataSet dsCenters)
    {
        string strRet = string.Empty;
        //Json数据原型
        Constants.Pagination pgCenters = new Constants.Pagination();
        //当前页的条数
        pgCenters.count = Convert.ToInt32(dsCenters.Tables[1].Rows[0][0]);
        //当前数据
        //*********************未实装。。。。。**********************//
        pgCenters.data = "";

        strRet = retExecResult(Constants.ExecResult.Succ, "", pgCenters);
        return strRet;
    }
    
    //*******************************************
    //功能概要       ：获得签约中心人员列表
    //参数説明       ：context 请求上下文
    //返回值説明     ：签约中心人员响应数据
    //功能詳細       ：获得签约中心列表
    //作成者         ：he.jifeng
    //作成日         ：2010-07-12
    //*******************************************
    private string GetCenterSigners(HttpContext context)
    {
        string strRet = string.Empty;
        string strParam = string.Empty;
        //参数列表
        System.Collections.Hashtable htParams = new System.Collections.Hashtable();
        
        //页步长
        strParam = context.Request.Params["pagesize"];
        if (strParam != null)
        {
            htParams.Add("PageSize", strParam);
        }
        //当前页号
        strParam = context.Request.Params["pageindex"];
        if (strParam != null)
        {
            htParams.Add("PageIndex", strParam);
        }
        //签约中心ID
        strParam = context.Request.Params["CenterId"];
        if (strParam != null)
        {
            htParams.Add("CenterId", strParam);
        }
        else
        {
            return retExecResult(Constants.ExecResult.Error, Resources.Message.Err_UrlError, "");
        }

        //签约中心人员关系业务类
        Chenxin.Lib.Business.BLL.UserSigningCenterRelation bllCenterUser = new UserSigningCenterRelation();
        
        //获得中心人员
        System.Data.DataSet dsSigners = bllCenterUser.GetListByConditions(htParams);

        //转化签约中心人员数据格式
        strRet = covertToClientSigners(dsSigners);
        return strRet;
    }

    //*******************************************
    //功能概要       ：转化签约中心人员为客户端接收类型数据
    //参数説明       ：ds 签约中心人员数据集
    //返回值説明     ：客户端签约中心数据集
    //功能詳細       ：转化签约中心人员为客户端接收类型数据
    //作成者         ：he.jifeng
    //作成日         ：2010-07-12
    //*******************************************
    private string covertToClientSigners(System.Data.DataSet dsSigners)
    {
        string strRet = string.Empty;
        //Json数据原型
        Constants.Pagination pgSigners = new Constants.Pagination();
        //当前页的条数
        pgSigners.count = Convert.ToInt32(dsSigners.Tables[1].Rows[0][0]);
        //当前数据
        //*********************未实装。。。。。**********************//
        pgSigners.data = "";

        strRet = retExecResult(Constants.ExecResult.Succ, "", pgSigners);
        return strRet;
    }
}